Bug 347230 – testicontheme shortcomings
authorChristian Dywan <cdywan@src.gnome.org>
Fri, 31 Oct 2008 08:56:42 +0000 (08:56 +0000)
committerChristian Dywan <cdywan@src.gnome.org>
Fri, 31 Oct 2008 08:56:42 +0000 (08:56 +0000)
* tests/testicontheme.c (main):
Use theme for "display" and quit on window closing

svn path=/trunk/; revision=21739

ChangeLog
tests/testicontheme.c

index daa8335fc80242b4be9ee78f519be5d8b876e2ed..a04b34074b67e47d57e88828a51fb8a20ec9c196 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2008-10-31  Christian Dywan  <christian@imendio.com>
+
+       Bug 347230 – testicontheme shortcomings
+
+       * tests/testicontheme.c (main):
+       Use theme for "display" and quit on window closing
+
 2008-10-30  Matthias Clasen  <mclasen@redhat.com>
 
        Bug 558522 – scroll arrow painted insensitive even though there
index 90d4eaad597994e2c1ec76e7bc1e512f5194a61f..92a68aab32cdf95d53d9ebdab2735141dac5e2b7 100644 (file)
@@ -68,6 +68,8 @@ main (int argc, char *argv[])
 
   if (strcmp (argv[1], "display") == 0)
     {
+      GError *error;
+      GdkPixbuf *pixbuf;
       GtkWidget *window, *image;
       GtkIconSize size;
 
@@ -82,10 +84,23 @@ main (int argc, char *argv[])
        size = atoi (argv[4]);
       else 
        size = GTK_ICON_SIZE_BUTTON;
-      
+
+      error = NULL;
+      pixbuf = gtk_icon_theme_load_icon (icon_theme, argv[3], size,
+                                         GTK_ICON_LOOKUP_USE_BUILTIN, &error);
+      if (!pixbuf)
+        {
+          g_print ("%s\n", error->message);
+          return 1;
+        }
+
       window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-      image = gtk_image_new_from_icon_name (argv[3], size); 
+      image = gtk_image_new ();
+      gtk_image_set_from_pixbuf (GTK_IMAGE (image), pixbuf);
+      g_object_unref (pixbuf);
       gtk_container_add (GTK_CONTAINER (window), image);
+      g_signal_connect (window, "delete-event",
+                        G_CALLBACK (gtk_main_quit), window);
       gtk_widget_show_all (window);
       
       gtk_main ();